<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <button></button>
  <button></button>
  <button></button>
  <button></button>
  <button></button>
  <button></button>
  <button></button>
  <button></button>
  <button></button>
  <button></button>
  <script>
  
    /* 
      let
      const
        除了const不能被重新赋值外，其他特性都一致

        let不能被重新声明（不能对已有变量重新声明）

        const的值不能被重新复制，但是如果const声明的是引用值，那么可以直接去添加引用值中的内容
        const arr = []
        // arr = []
        arr.push(1)

      1 var存在变量提升问题
      2 var没有块级作用域

      for(var i = 0;i < 10; i++){
        // setTimeout()
      }
    */
    var a = 1
    var a = 2

    let b = 1
    // let b = 2
    b = 2

    /* function fn (e) {
      let e = e || window.event
    } */
  

    /* console.log(c)

    let c = 1 */


    for (let i = 0; i < 10; i++) {
      // console.log(i)
      setTimeout(function () {
        console.log(i)
      }, 1000) 
    }

    // console.log(i)
    var btns = document.querySelectorAll('button')
    for(let i = 0; i < btns.length; i++) {
      btns[i].onclick = function () {
        console.log(i)
      }
    }


    {
      let d = 1
    }
    
    console.log(d)

  </script>
</body>
</html>